package com.ikingtech.platform.service.application.exception;

import com.ikingtech.framework.sdk.context.exception.FrameworkExceptionInfo;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public enum ScaffoldExceptionInfo implements FrameworkExceptionInfo {
    /**
     * 工程名称重复
     */
    PROJECT_NAME_DUPLICATE("projectNameDuplicate"),

    /**
     * 功能名称重复
     */
    PROJECT_MODULE_NAME_DUPLICATE("projectModuleNameDuplicate"),

    /**
     * 表单名称重复
     */
    DUPLICATE_FORM_NAME("duplicateFormName"),

    /**
     * 工程不存在
     */
    PROJECT_NOT_FOUND("projectNotFound"),

    /**
     * 功能不存在
     */
    PROJECT_CODE_GEN_FAIL("projectCodeGenFail"),

    /**
     * 功能不存在
     */
    MODULE_NOT_FOUND("moduleNotFound"),

    /**
     * 功能不存在
     */
    PAGE_NOT_FOUND("pageNotFound"),

    /**
     * 功能不存在
     */
    MODEL_NOT_FOUND("modelNotFound"),

    /**
     * 功能不存在
     */
    MODEL_FIELD_NOT_SPECIFIED("modelFieldNotSpecified"),

    /**
     * 功能不存在
     */
    DB_TABLE_FIELD_NOT_FOUND("dbTableFieldNotFound"),

    /**
     * 功能不存在
     */
    MODEL_CODE_GEN_FAIL("modelCodeGenFail"),

    /**
     * 功能不存在
     */
    PAGE_TEMPLATE_NOT_FOUND("pageTemplateNotFound"),

    /**
     * 功能不存在
     */
    PAGE_MODEL_NOT_FOUND("pageModelNotFound");

    private final String message;

    @Override
    public String message() {
        return this.message;
    }

    @Override
    public String moduleName() {
        return "iking-framework-business-scaffold";
    }
}
